/**
 * 
 */
package model;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Eve
 * 
 */
public class ProdutoDAO {

	public List<Produto> getLstProdutos() throws Exception {
		List<Produto> li = new ArrayList<Produto>();

		try {
			Connection conn = ConexaoBD.getInstance().conectar();
			PreparedStatement ps = conn
					.prepareStatement("SELECT * FROM PRODUTO_01083333");
			ResultSet rs = ps.executeQuery();

			while (rs.next()) {
				Produto produto = new Produto();
				produto.setIdProduto(rs.getInt("idProduto"));
				produto.setNomeProduto(rs.getString("nomeProduto"));
				produto.setPreco(rs.getDouble("preco"));
				produto.setQtdeDisponivel(rs.getInt("qtdeDisponivel"));
				li.add(produto);
			}
		} catch (Throwable t) {
			t.printStackTrace();
		} finally {
			ConexaoBD.getInstance().desconectar();
		}
		return li;
	}

	public boolean atualizarQtdeProdutos(List<Produto> lstProdutos) {
		boolean retorno = false;
		StringBuilder sb = new StringBuilder();
		Statement st = null;
		try {
			Connection conexao = ConexaoBD.getInstance().conectar();
			for (Produto produto : lstProdutos) {
				sb = new StringBuilder();
				sb.append("UPDATE PRODUTO_01083333 SET qtdeDisponivel = "
						+ produto.getQtdeDisponivel() + " WHERE idProduto = "
						+ produto.getIdProduto());
				st = conexao.createStatement();
				retorno = !st.execute(sb.toString());
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
		return retorno;
	}

}
